import javax.crypto.KeyGenerator;
import javax.crypto.Mac;
import javax.crypto.SecretKey;
import javax.crypto.spec.SecretKeySpec;
import java.io.UnsupportedEncodingException;
import java.math.BigInteger;
import java.nio.charset.StandardCharsets;
import java.security.InvalidKeyException;
import java.security.Key;
import java.security.NoSuchAlgorithmException;
import java.util.Arrays;
import java.util.Random;

public class  Addsaltmd5 {



    public static void  Hmac(){
        try {
            //从给定的数组 构造一个密钥    数组理解为 暗号
            SecretKey secretKey=new SecretKeySpec(new byte[]{1,2,3,4,5},"HmacMD5");
            //返回实现了指定算法的mac对象
            Mac mac= Mac.getInstance("HmacMD5");

            //指定给定的键初始化Mmac对象
            mac.init(secretKey);

            //处理给定的数组 ，可以理解为，对 要传输的内容 进行加密
            mac.update("110".getBytes("UTF-8"));
            //完成MAC操作
            byte[] result=mac.doFinal();

            System.out.println(new BigInteger(1,result).toString());
        } catch (NoSuchAlgorithmException e) {
            e.printStackTrace();
        } catch (InvalidKeyException e) {
            e.printStackTrace();
        } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
        }

    }
    public static void main(String[] a){
        Addsaltmd5 ast=new Addsaltmd5();
        ast.Hmac();

}

}
